package com.company.observer;

import java.util.Observable;

/**
 * Created by ruoan on 2020/9/28 20:53
 *
 * 观察者模式
 */
public class TMain {
    public static void main(String[] args) {

        MyObserver observer1 = new MyObserver();
        MyObserver observer2 = new MyObserver();
        //添加观察者
        MyObservable o = new MyObservable();
        o.addObserver(observer1);
        o.addObserver(observer2);

        int i = o.countObservers();
        System.out.println("i = " + i);

        boolean b = o.hasChanged();
        System.out.println("b = " + b);
        // 当发生了某些事，调用change(),然后内部调用 被观察者的 setChanged()方法
        // 更改状态，然后调用观察者的notifyObservers()方法，通知观察者
        o.change();
        boolean b2 = o.hasChanged();
        System.out.println("b2 = " + b2);



        o.notifyObservers();
    }
}
